In integrated circuit (IC) devices, resistance-based random access memory, such as resistive random access memory (RRAM, ReRAM), magnetoresistive random access memory (MRAM), and phase-changed random access memory (PCRAM), are being developed for next generation memory devices. Compared with charge-based random access memory, such as flash memory, a resistance-based random access memory circuit includes an array of memory cells each of which is capable of having at least a high resistance state and a low resistance state. Setting a resistance state of a memory cell of a resistance-based random access memory circuit (i.e., performing a write operation to the memory cell) is usually accomplished by applying a predetermined voltage difference or a predetermined current to the memory cell. When reading a datum from a memory cell, a predetermined reading current (or voltage) is applied to the memory cell, and the output datum is determined according to the resulting voltage (or current) of the memory cell.